home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / sdot.z / sdot
Encoding:
Text File  |  2002-10-03  |  17.6 KB  |  331 lines

  1.  
  2.  
  3.  
  4. SSSSDDDDOOOOTTTT((((3333SSSS))))                                                              SSSSDDDDOOOOTTTT((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SSSSDDDDOOOOTTTT, DDDDDDDDOOOOTTTT, CCCCDDDDOOOOTTTTCCCC, ZZZZDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU, ZZZZDDDDOOOOTTTTUUUU - Computes a dot product (inner
  10.      product) of two real or complex vectors
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      Single precision
  14.  
  15.           Fortran:
  16.                rrrreeeeaaaallll SSSSDDDDOOOOTTTT
  17.                rrrreeeeaaaallll _d_o_t
  18.                _d_o_t ==== SSSSDDDDOOOOTTTT ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y))))
  19.  
  20.           C/C++:
  21.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  22.                ffffllllooooaaaatttt ssssddddooootttt((((iiiinnnntttt _n,,,, ffffllllooooaaaatttt *_x,,,, iiiinnnntttt _i_n_c_x,,,, ffffllllooooaaaatttt *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  23.  
  24.      Double precision
  25.  
  26.           Fortran:
  27.                ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn DDDDDDDDOOOOTTTT
  28.                ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn _d_o_t
  29.                _d_o_t ==== DDDDDDDDOOOOTTTT ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y))))
  30.  
  31.           C/C++:
  32.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  33.                ddddoooouuuubbbblllleeee ddddddddooootttt((((iiiinnnntttt _n,,,, ddddoooouuuubbbblllleeee *_x,,,, iiiinnnntttt _i_n_c_x,,,, ddddoooouuuubbbblllleeee *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  34.  
  35.      Single precision complex
  36.  
  37.           Fortran:
  38.                ccccoooommmmpppplllleeeexxxx CCCCDDDDOOOOTTTTCCCC CCCCDDDDOOOOTTTTUUUU
  39.                ccccoooommmmpppplllleeeexxxx _d_o_t
  40.                _d_o_t ==== CCCCDDDDOOOOTTTTCCCC ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y))))
  41.                _d_o_t ==== CCCCDDDDOOOOTTTTUUUU ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y))))
  42.  
  43.           C/C++:
  44.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  45.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx ccccddddoooottttcccc((((iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  46.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  47.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx ccccddddoooottttuuuu((((iiiinnnntttt _n,,,, ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  48.                ssssccccssssllll____ccccoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  49.  
  50.           C++ STL:
  51.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  52.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  53.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> ccccddddoooottttcccc((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  54.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  55.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> ccccddddoooottttuuuu((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  56.                ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSDDDDOOOOTTTT((((3333SSSS))))                                                              SSSSDDDDOOOOTTTT((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      Double precision complex
  75.  
  76.           Fortran:
  77.                ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx ZZZZDDDDOOOOTTTTCCCC ZZZZDDDDOOOOTTTTUUUU
  78.                ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx _d_o_t
  79.                _d_o_t ==== ZZZZDDDDOOOOTTTTCCCC ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y))))
  80.                _d_o_t ==== ZZZZDDDDOOOOTTTTUUUU ((((_n,,,, _x,,,, _i_n_c_x,,,, _y,,,, _i_n_c_y))))
  81.           C/C++:
  82.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  83.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx zzzzddddoooottttcccc((((iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  84.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  85.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx zzzzddddoooottttuuuu((((iiiinnnntttt _n,,,, ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  86.                ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  87.  
  88.           C++ STL:
  89.                ####iiiinnnncccclllluuuuddddeeee <<<<ccccoooommmmpppplllleeeexxxx....hhhh>>>>
  90.                ####iiiinnnncccclllluuuuddddeeee <<<<ssssccccssssllll____bbbbllllaaaassss....hhhh>>>>
  91.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> zzzzddddoooottttcccc ((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  92.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  93.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> zzzzddddoooottttuuuu ((((iiiinnnntttt _n,,,, ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_x,,,, iiiinnnntttt _i_n_c_x,,,,
  94.                ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>> *_y,,,, iiiinnnntttt _i_n_c_y))));;;;
  95.  
  96. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  97.      These routines are part of the SCSL Scientific Library and can be loaded
  98.      using either the ----llllssssccccssss or the ----llllssssccccssss____mmmmpppp option.  The ----llllssssccccssss____mmmmpppp option
  99.      directs the linker to use the multi-processor version of the library.
  100.  
  101.      When linking to SCSL with ----llllssssccccssss or ----llllssssccccssss____mmmmpppp, the default integer size is
  102.      4 bytes (32 bits). Another version of SCSL is available in which integers
  103.      are 8 bytes (64 bits).  This version allows the user access to larger
  104.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  105.      by using the ----llllssssccccssss____iiii8888 option or the ----llllssssccccssss____iiii8888____mmmmpppp option. A program may use
  106.      only one of the two versions; 4-byte integer and 8-byte integer library
  107.      calls cannot be mixed.
  108.  
  109.      The C and C++ prototypes shown above are appropriate for the 4-byte
  110.      integer version of SCSL. When using the 8-byte integer version, the
  111.      variables of type iiiinnnntttt become lllloooonnnngggg lllloooonnnngggg and the <<<<ssssccccssssllll____bbbbllllaaaassss____iiii8888....hhhh>>>> header
  112.      file should be included.
  113.  
  114. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  115.      SSSSDDDDOOOOTTTT/DDDDDDDDOOOOTTTT computes a dot product of two real vectors (_l_2 real inner
  116.      product).
  117.  
  118.      CCCCDDDDOOOOTTTTCCCC/ZZZZDDDDOOOOTTTTCCCC computes a dot product of the conjugate of a complex vector
  119.      and another complex vector (_l_2 complex inner product).
  120.  
  121.      CCCCDDDDOOOOTTTTUUUU/ZZZZDDDDOOOOTTTTUUUU computes a dot product of two complex vectors.
  122.  
  123.      SSSSDDDDOOOOTTTT/DDDDDDDDOOOOTTTT and CCCCDDDDOOOOTTTTUUUU/ZZZZDDDDOOOOTTTTUUUU perform the following vector operation:
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSDDDDOOOOTTTT((((3333SSSS))))                                                              SSSSDDDDOOOOTTTT((((3333SSSS))))
  137.  
  138.  
  139.  
  140.                   T      n
  141.           dot <- x  y = Sum x  y
  142.                         i=1  i  i
  143.  
  144.  
  145.      where _x and _y are real or complex vectors, and _x_T is the transpose of _x.
  146.  
  147.      CCCCDDDDOOOOTTTTCCCC/ZZZZDDDDOOOOTTTTCCCC performs the following vector operation:
  148.  
  149.                   H      n   _
  150.           dot <- x  y = Sum  x  y
  151.                         i=1   i  i
  152.  
  153.  
  154.      where _x and _y are complex vectors, and _x_H is the conjugate transpose of
  155.      _x.
  156.  
  157.      If _n <= 0, _d_o_t is set to 0.
  158.  
  159.      See the NOTES section of this man page for information about the
  160.      interpretation of the data types described in the following arguments.
  161.  
  162.      These functions have the following arguments:
  163.  
  164.      _n    Integer.  (input)
  165.           Number of elements in each vector.
  166.  
  167.      _x    Array of dimension (_n-1) * |_i_n_c_x| + 1.  (input)
  168.           SSSSDDDDOOOOTTTT: Single precision array.
  169.           DDDDDDDDOOOOTTTT: Double precision array.
  170.           CCCCDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU: Single precision complex array.
  171.           ZZZZDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU: Double precision complex array.
  172.           Array _x contains the first vector operand.
  173.  
  174.      _i_n_c_x Integer.  (input)
  175.           Increment between elements of _x.  If _i_n_c_x = 0, the results will be
  176.           unpredictable.
  177.  
  178.      _y    Array of dimension (_n-1)  * |_i_n_c_y| + 1.  (input)
  179.           SSSSDDDDOOOOTTTT: Single precision array.
  180.           DDDDDDDDOOOOTTTT: Double precision array.
  181.           CCCCDDDDOOOOTTTTCCCC, CCCCDDDDOOOOTTTTUUUU: Single precision complex array.
  182.           ZZZZDDDDOOOOTTTTCCCC, ZZZZDDDDOOOOTTTTUUUU: Double precision complex array.
  183.           Array _y contains the second vector operand.
  184.  
  185.      _i_n_c_y Integer.  (input)
  186.           Increment between elements of _y.  If _i_n_c_y = 0, the results will be
  187.           unpredictable.
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. SSSSDDDDOOOOTTTT((((3333SSSS))))                                                              SSSSDDDDOOOOTTTT((((3333SSSS))))
  203.  
  204.  
  205.  
  206. NOTES
  207.      These routines are Level 1 Basic Linear Algebra Subprograms (Level 1
  208.      BLAS).
  209.  
  210.      When working backward (_i_n_c_x < 0 or _i_n_c_y < 0), each routine starts at the
  211.      end of the vector and moves backward, as follows:
  212.  
  213.           _x(1-_i_n_c_x * (_n-1)), _x(1-_i_n_c_x * _n-2)), ..., _x(1)
  214.  
  215.           _y(1-_i_n_c_y * (_n-1)), _y(1-_i_n_c_y * (_n-2)), ..., _y(1)
  216.  
  217.  
  218.    DDDDaaaattttaaaa TTTTyyyyppppeeeessss
  219.      The following data types are described in this documentation:
  220.  
  221.           TTTTeeeerrrrmmmm UUUUsssseeeedddd                     DDDDaaaattttaaaa ttttyyyyppppeeee
  222.  
  223.      Fortran:
  224.  
  225.           Array dimensioned _n           xxxx((((nnnn))))
  226.  
  227.           Integer                       IIIINNNNTTTTEEEEGGGGEEEERRRR (IIIINNNNTTTTEEEEGGGGEEEERRRR****8888 for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  228.  
  229.           Character                     CCCCHHHHAAAARRRRAAAACCCCTTTTEEEERRRR
  230.  
  231.           Single precision              RRRREEEEAAAALLLL
  232.  
  233.           Double precision              DDDDOOOOUUUUBBBBLLLLEEEE PPPPRRRREEEECCCCIIIISSSSIIIIOOOONNNN
  234.  
  235.           Single precision complex      CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  236.  
  237.           Double precision complex      DDDDOOOOUUUUBBBBLLLLEEEE CCCCOOOOMMMMPPPPLLLLEEEEXXXX
  238.  
  239.      C/C++:
  240.  
  241.           Array dimensioned _n           xxxx[[[[_n]]]]
  242.  
  243.           Character                     cccchhhhaaaarrrr
  244.  
  245.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  246.  
  247.           Single precision              ffffllllooooaaaatttt
  248.  
  249.           Double precision              ddddoooouuuubbbblllleeee
  250.  
  251.           Single precision complex      ssssccccssssllll____ccccoooommmmpppplllleeeexxxx
  252.  
  253.           Double precision complex      ssssccccssssllll____zzzzoooommmmpppplllleeeexxxx
  254.  
  255.      C++ STL:
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. SSSSDDDDOOOOTTTT((((3333SSSS))))                                                              SSSSDDDDOOOOTTTT((((3333SSSS))))
  269.  
  270.  
  271.  
  272.           Array dimensioned _n           xxxx[[[[_n]]]]
  273.  
  274.           Character                     cccchhhhaaaarrrr
  275.  
  276.           Integer                       iiiinnnntttt (lllloooonnnngggg lllloooonnnngggg for ----llllssssccccssss____iiii8888[[[[____mmmmpppp]]]])
  277.  
  278.           Single precision              ffffllllooooaaaatttt
  279.  
  280.           Double precision              ddddoooouuuubbbblllleeee
  281.  
  282.           Single precision complex      ccccoooommmmpppplllleeeexxxx<<<<ffffllllooooaaaatttt>>>>
  283.  
  284.           Double precision complex      ccccoooommmmpppplllleeeexxxx<<<<ddddoooouuuubbbblllleeee>>>>
  285.  
  286. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  287.      IIIINNNNTTTTRRRROOOO____SSSSCCCCSSSSLLLL(3S), IIIINNNNTTTTRRRROOOO____BBBBLLLLAAAASSSS1111(3S)
  288.  
  289.      IIIINNNNTTTTRRRROOOO____CCCCBBBBLLLLAAAASSSS(3S) for information about using the C interface to Fortran 77
  290.      Basic Linear Algebra Subprograms (legacy BLAS) set forth by the Basic
  291.      Linear Algebra Subprograms Technical Forum.
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.                                                                         PPPPaaaaggggeeee 5555
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.